package com.zym.init.model.query;

import jakarta.validation.constraints.NotNull;
import jakarta.validation.groups.Default;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 资源查询对象
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class ResourceQuery extends PageQuery {
    /**
     * ID
     */
    @NotNull(message = "ID不能为空", groups = {Update.class})
    private Long resourceId;

    /**
     * 存储方式ID
     */
    private Long storageId;

    /**
     * 资源类型
     */
    private String resourceType;

    /**
     * 资源名称
     */
    private String resourceName;

    /**
     * 资源类型
     */
    private String mediaType;

    /**
     * 资源大小(字节)
     */
    private Long size;

    /**
     * 文件扩展名
     */
    private String fileExtension;

    /**
     * 上传用户的ID
     */
    private Long uploadUserId;

    /**
     * 父级资源的ID
     */
    private Long parentResourceId;

    /**
     * 原始名称
     */
    private String originalName;

    /**
     * 资源路径
     */
    private String path;

    /**
     * 新增校验组
     */
    public interface Add extends Default {
    }

    /**
     * 更新校验组
     */
    public interface Update extends Default {
    }
}